CentOS 7
Sponsored Link

OpenStack Pike : How to use Manila#1
2017/09/07
 
This is How to use OpenStack Shared File System (Manila).
This example is based on the emvironment like follows.
For example, Configure local block device as shared storage on Storage Node and use it from Instances. Therefore, it needs there is a free block device on Storage Node.
     ------------+---------------------------+---------------------------+------------
                 |                           |                           |
             eth0|10.0.0.30              eth0|10.0.0.50              eth0|10.0.0.51
     +-----------+-----------+   +-----------+-----------+   +-----------+-----------+
     |    [ Control Node ]   |   |    [ Storage Node ]   |   |    [ Compute Node ]   |
     |                       |   |                       |   |                       |
     |  MariaDB    RabbitMQ  |   |      Open vSwitch     |   |        Libvirt        |
     |  Memcached  httpd     |   |        L2 Agent       |   |     Nova Compute      |
     |  Keystone   Glance    |   |        L3 Agent       |   |      Open vSwitch     |
     |  Nova API             |   |     Metadata Agent    |   |        L2 Agent       |
     |  Neutron Server       |   |      Manila Share     |   |                       |
     |  Metadata Agent       |   |                       |   |                       |
     |  Manila API           |   |                       |   |                       |
     +-----------------------+   +-----------------------+   +-----------------------+

[1] Configure Storage Node.
[root@storage ~]#
yum -y install nfs-utils nfs4-acl-tools
# create a volume for Manila on free block device

[root@storage ~]#
pvcreate /dev/sdb1

  Physical volume "/dev/sdb1" successfully created
[root@storage ~]#
vgcreate manila-volumes /dev/sdb1

  Volume group "manila-volumes" successfully created
[root@storage ~]#
vi /etc/manila/manila.conf
# add follows into [DEFAULT] section

enabled_share_backends = lvm
# add to the end

[lvm]
share_backend_name = LVM
share_driver = manila.share.drivers.lvm.LVMShareDriver
driver_handles_share_servers = False
lvm_share_volume_group = manila-volumes
lvm_share_export_ip = 10.0.0.50
[root@storage ~]#
systemctl start openstack-manila-share nfs-server

[root@storage ~]#
systemctl enable openstack-manila-share nfs-server
[2] Create default share type. It's OK to work on any node. (This example is on Control Node)
[root@dlp ~(keystone)]#
manila type-create default_share_type False

+----------------------+--------------------------------------+
| Property             | Value                                |
+----------------------+--------------------------------------+
| required_extra_specs | driver_handles_share_servers : False |
| Name                 | default_share_type                   |
| Visibility           | public                               |
| is_default           | -                                    |
| ID                   | 224021a0-bb81-4d7f-91b1-488e7baf191f |
| optional_extra_specs |                                      |
+----------------------+--------------------------------------+

[root@dlp ~(keystone)]#
manila type-list

+-----------+--------------------+------------+------------+--------------------------------------+--------+
| ID        | Name               | visibility | is_default | required_extra_specs                 | opt... |
+-----------+--------------------+------------+------------+--------------------------------------+--------+
| 224021a0- | default_share_type | public     | YES        | driver_handles_share_servers : False |        |
+-----------+--------------------+------------+------------+--------------------------------------+--------+
[3] Create NFS share.
[root@dlp ~(keystone)]#
manila create NFS 1 --name share01

+---------------------------------------+--------------------------------------+
| Property                              | Value                                |
+---------------------------------------+--------------------------------------+
| status                                | creating                             |
| share_type_name                       | default_share_type                   |
| description                           | None                                 |
| availability_zone                     | None                                 |
| share_network_id                      | None                                 |
| share_server_id                       | None                                 |
| share_group_id                        | None                                 |
| host                                  |                                      |
| revert_to_snapshot_support            | False                                |
| access_rules_status                   | active                               |
| snapshot_id                           | None                                 |
| create_share_from_snapshot_support    | False                                |
| is_public                             | False                                |
| task_state                            | None                                 |
| snapshot_support                      | False                                |
| id                                    | da49783c-baa7-4514-97ef-a09c90a9a6e5 |
| size                                  | 1                                    |
| source_share_group_snapshot_member_id | None                                 |
| user_id                               | 09d8dfa20e0f40eaae448d369943b195     |
| name                                  | share01                              |
| share_type                            | 224021a0-bb81-4d7f-91b1-488e7baf191f |
| has_replicas                          | False                                |
| replication_type                      | None                                 |
| created_at                            | 2017-09-08T02:42:29.000000           |
| share_proto                           | NFS                                  |
| mount_snapshot_support                | False                                |
| project_id                            | 09158bee8c6441519bf3a3743d936566     |
| metadata                              | {}                                   |
+---------------------------------------+--------------------------------------+

# few minutes later, the Status turns to available

[root@dlp ~(keystone)]#
manila list

+-----------+---------+------+-------------+-----------+-----------+--------------------+---------+--------+
| ID        | Name    | Size | Share Proto | Status    | Is Public | Share Type Name    | Host    | Avai.. |
+-----------+---------+------+-------------+-----------+-----------+--------------------+---------+--------+
| da49783c- | share01 | 1    | NFS         | available | False     | default_share_type | netw... | nova   |
+-----------+---------+------+-------------+-----------+-----------+--------------------+---------+--------+
[4] It's OK all, you can use Manila Shared filesystem from Instances like follows.
[root@dlp ~(keystone)]#
openstack server list

+-----------+----------+---------+------------------------------------+---------+----------+
| ID        | Name     | Status  | Networks                           | Image   | Flavor   |
+-----------+----------+---------+------------------------------------+---------+----------+
| 662f62b8- | CentOS_7 | SHUTOFF | int_net=192.168.100.12, 10.0.0.201 | CentOS7 | m1.small |
+-----------+----------+---------+------------------------------------+---------+----------+

# allow access rights first

[root@dlp ~(keystone)]#
manila access-allow share01 ip 10.0.0.0/24 --access-level rw

+--------------+--------------------------------------+
| Property     | Value                                |
+--------------+--------------------------------------+
| access_key   | None                                 |
| share_id     | da49783c-baa7-4514-97ef-a09c90a9a6e5 |
| created_at   | 2017-09-08T02:45:11.000000           |
| updated_at   | None                                 |
| access_type  | ip                                   |
| access_to    | 10.0.0.0/24                          |
| access_level | rw                                   |
| state        | queued_to_apply                      |
| id           | 621d52ac-90ee-4470-af2c-253224cb092a |
+--------------+--------------------------------------+

# it's no ploblem if State turns to active

[root@dlp ~(keystone)]#
manila access-list share01

+-----------+-------------+-------------+--------------+--------+------------+---------------+------------+
| id        | access_type | access_to   | access_level | state  | access_key | created_at    | updated_at |
+-----------+-------------+-------------+--------------+--------+------------+---------------+------------+
| 621d52ac- | ip          | 10.0.0.0/24 | rw           | active | None       | 2017-09-08... | None       |
+-----------+-------------+-------------+--------------+--------+------------+---------------+------------+

[root@dlp ~(keystone)]#
openstack server start CentOS_7

# confirm access Path

[root@dlp ~(keystone)]#
manila show share01 | grep path | cut -d'|' -f3

path = 10.0.0.50:/var/lib/manila/mnt/share-6c6770cc-a2ba-41bc-b283-ffd9204991d9
[root@dlp ~(keystone)]#
ssh centos@10.0.0.201

Last login: Thu Sep 7 17:13:09 2017 from dlp.srv.world
[centos@centos-7 ~]$
# mount Manila shared storage

[centos@centos-7 ~]$
sudo mount -t nfs \
10.0.0.50:/var/lib/manila/mnt/share-6c6770cc-a2ba-41bc-b283-ffd9204991d9 /mnt

[centos@centos-7 ~]$
df -hT

Filesystem                                                 Type      Size  Used Avail Use% Mounted on
/dev/mapper/cl-root                                        xfs       8.0G  1.1G  7.0G  14% /
devtmpfs                                                   devtmpfs  990M     0  990M   0% /dev
tmpfs                                                      tmpfs    1001M     0 1001M   0% /dev/shm
tmpfs                                                      tmpfs    1001M  8.3M  992M   1% /run
tmpfs                                                      tmpfs    1001M     0 1001M   0% /sys/fs/cgroup
/dev/vda1                                                  xfs      1014M  121M  894M  12% /boot
tmpfs                                                      tmpfs     201M     0  201M   0% /run/user/1000
10.0.0.50:/var/lib/manila/mnt/share-6c6770cc-a2ba-41bc-... nfs4      976M  2.5M  907M   1% /mnt
 
Tweet